package cxf.spring.demo.example;

import javax.swing.*;
import java.awt.*;

/**
 * Создание заставки для приложения
 * <p/>
 * User: Vlad Vinichenko (akerigan@gmail.com)
 * Date: 07.03.2009
 * Time: 15:39:29
 */
public class SplashScreen extends JWindow {

    // необходимые нам изображения
    private Image capture;
    private Image splash = getToolkit().getImage("splash.gif");

    // компонент рисует заставку class
    class Splash extends JComponent {
        public void paintComponent(Graphics g) {
            // рисуем копию экрана
            g.drawImage(capture, 0, 0, this);
            // и поверх нее - рисунок с заставкой
            g.drawImage(splash, 0, 0, this);
        }
    }

    public SplashScreen() {
        super();
        // размер и положение окна на экране
        setLocation(200, 100);
        setSize(500, 400); // снимаем экранную копию
        try {
            Robot robot = new Robot();
            capture = robot.createScreenCapture(new Rectangle(200, 100, 500, 400));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        // добавляем компонент-заставку
        getContentPane().add(new Splash());
        // выводим окно на экран
        setVisible(true);
        // заканчиваем работу по истечении некоторого времени
        try {
            Thread.sleep(10000);
        } catch (Exception ignored) {
        }
        System.exit(0);
    }

    public static void main(String[] args) {
        new SplashScreen();
    }

}
